Emmanuele Bassi [Fri, 9 Oct 2020 17:17:04 +0000 (18:17 +0100)]
tests: Use the test ATContext for every test
Otherwise we're going to need a full desktop session in order to run the
test suite.
Emmanuele Bassi [Fri, 9 Oct 2020 13:49:10 +0000 (14:49 +0100)]
a11y: Return the ATSPI role for the root element
Emmanuele Bassi [Fri, 9 Oct 2020 13:20:43 +0000 (14:20 +0100)]
a11y: Add AT-SPI cache object
Right now, the cache is unused, and we still need to implement the
serialisation method and emit the signals.
Emmanuele Bassi [Fri, 9 Oct 2020 11:33:50 +0000 (12:33 +0100)]
a11y: Ignore widgets during destruction
There's no point in creating a GtkATContext when a widget is getting
destroyed.
Emmanuele Bassi [Fri, 9 Oct 2020 11:32:09 +0000 (12:32 +0100)]
a11y: Register the accessible root object
When we create the first AT-SPI context we also need to register the
accessible root on the accessibility bus. The accessible root object is
the main entry point of an accessible application, and it holds the
global state to present to the ATs that connect to the bus.
Emmanuele Bassi [Tue, 29 Sep 2020 17:40:44 +0000 (18:40 +0100)]
a11y: Add a display to GtkATContext
Since we need to check at run time what kind of AT context to use, we
need a hook into the whole GDK backend machinery. The display connection
seems to be the best choice, in this case, as it allows us to determine
whether we're running on an X11 or Wayland system, and thus whether we
should create a GtkAtSpiContext.
This requires some surgery to fix the GtkATContext creation function, in
order to include a GdkDisplay instance.
Emmanuele Bassi [Tue, 29 Sep 2020 17:18:36 +0000 (18:18 +0100)]
a11y: Add dummy AT-SPI context
Does not do anything, at the moment, but it's going to get filled out
soon.
The backend is selected depending on the platform being compiled in;
since we're using AT-SPI on X11 and Wayland, and we don't have other
accessibility implementations, we currently don't care about run time
selection, but we're going to have to deal with that.
Emmanuele Bassi [Tue, 29 Sep 2020 16:55:01 +0000 (17:55 +0100)]
a11y: Add the AT-SPI DBus descriptions
And generate the code for the DBus interfaces.
We don't want the full object manager experience, here, because we're
going to have a single object responding to various interfaces and
remote method calls. For this reason, we're not using the gnome module
in Meson to call gdbus-codegen for us: we need to use the interface info
command line arguments, and those are not available from Meson.
Emmanuele Bassi [Sat, 10 Oct 2020 00:44:31 +0000 (01:44 +0100)]
Use test AT context with installed tests
Otherwise we're going to need an AT-SPI service on the session, and the
accessibility bus.
Matthias Clasen [Mon, 12 Oct 2020 14:39:39 +0000 (14:39 +0000)]
Merge branch 'ebassi/for-master' into 'master'
Ebassi/for master
See merge request GNOME/gtk!2683
Emmanuele Bassi [Mon, 12 Oct 2020 13:05:52 +0000 (14:05 +0100)]
Generate introspection for GdkWayland API
Like we do for GdkX11. We can't use all of the public C API, but we can
expose enough type information to allow non-C developers to actually
check if they are running the Wayland GDK backend or not—plus some
additional Wayland-specific API.
Emmanuele Bassi [Mon, 12 Oct 2020 13:04:13 +0000 (14:04 +0100)]
Add type annotations for GdkWayland API
The GdkWayland API takes generic GDK types and performs a run time
check, which means we need to properly annotate the actual expected
type in order to have methods recognised as such.
Emmanuele Bassi [Mon, 12 Oct 2020 13:02:54 +0000 (14:02 +0100)]
Skip GdkWayland symbols that use wayland-client types
The wayland-client API does not have introspection annotations, so we
can't use these types anyway.
Aurimas Černius [Sun, 11 Oct 2020 14:25:23 +0000 (17:25 +0300)]
Updated Lithuanian translation
Matthias Clasen [Sat, 10 Oct 2020 11:55:01 +0000 (11:55 +0000)]
Merge branch 'wip/chergert/gdk-macos-fixes' into 'master'
various build fixes for GDK/GTK on macos
See merge request GNOME/gtk!2680
Piotr Drąg [Sat, 10 Oct 2020 10:45:14 +0000 (12:45 +0200)]
Update Polish translation
Marek Černocký [Sat, 10 Oct 2020 10:17:27 +0000 (12:17 +0200)]
Updated Czech translation
Christian Hergert [Sat, 10 Oct 2020 03:08:23 +0000 (20:08 -0700)]
macos: port gtk to GDK_WINDOWING_MACOS
For the various uses of GDK_WINDOWING_QUARTZ, we need to use
alternatives from GDK_WINDOWING_MACOS.
Some minor loss of functionality is here, such as icons sent with
application menus. That can certainly be added back at a future
point.
Christian Hergert [Sat, 10 Oct 2020 03:05:20 +0000 (20:05 -0700)]
gtk: use GDK_WINDOWING_MACOS in gentypefuncs.py
Christian Hergert [Sat, 10 Oct 2020 03:04:27 +0000 (20:04 -0700)]
gdk: remove quartz subdirectory from backends
Christian Hergert [Sat, 10 Oct 2020 03:03:52 +0000 (20:03 -0700)]
macos: add key equivalent helper
This is needed by quartz code in gtk/.
Christian Hergert [Sat, 10 Oct 2020 03:02:38 +0000 (20:02 -0700)]
macos: remove workaround for scroll delta
This gets handled differently in gtk/ and so we shouldn't translate it here.
Christian Hergert [Sat, 10 Oct 2020 03:02:18 +0000 (20:02 -0700)]
macos: track various changes in GDK
Christian Hergert [Sat, 10 Oct 2020 02:58:07 +0000 (19:58 -0700)]
macos: lookup NSEvent by translated GdkEvent
This will be needed by the quartz imcontext.
Christian Hergert [Sat, 10 Oct 2020 02:56:21 +0000 (19:56 -0700)]
macos: move input method names to private header
Christian Hergert [Sat, 10 Oct 2020 02:55:25 +0000 (19:55 -0700)]
demo: fix out of bounds array index usage
Matthias Clasen [Fri, 9 Oct 2020 13:35:57 +0000 (13:35 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #3242 and #3240
See merge request GNOME/gtk!2679
Matthias Clasen [Fri, 9 Oct 2020 11:51:57 +0000 (07:51 -0400)]
gtk-demo: Keep undisplayable resources out of view
No point in showing an apologetic tab for a blob of binary data.
gtk4-demo shows the resources under /DEMONAME/ for each demo,
so move the data to /DEMONAME_data/.
Matthias Clasen [Fri, 9 Oct 2020 11:47:38 +0000 (11:47 +0000)]
Merge branch 'ebassi/for-master' into 'master'
Tone down a user visible message
See merge request GNOME/gtk!2678
Matthias Clasen [Fri, 9 Oct 2020 03:06:07 +0000 (23:06 -0400)]
Send focus events to the root
We are not propagating focus change events, and that is the only
place where we are listening for focus change events. If GtkWindow
does not see focus-in events for its popovers, we end up with
inadvertendly inactive windows.
Fixes: #3240
Matthias Clasen [Fri, 9 Oct 2020 00:32:39 +0000 (20:32 -0400)]
window: Be more careful when looking for focus
When passing focus up to a parent, make sure the
newly chosen focus widget actually accepts the focus.
Matthias Clasen [Thu, 8 Oct 2020 23:23:23 +0000 (19:23 -0400)]
build: Require sysprof 3.38.0
We use sysprof_collector_request_counters, which
was introduced in sysprof 3.38.0.
Matthias Clasen [Thu, 8 Oct 2020 19:55:22 +0000 (15:55 -0400)]
gtk-demo: Ellipsize columns in the characters demo
some of the columns have uneven widths, causing them
to bounce around as you scroll. Ellipsize them and
give them a fixed with.
Matthias Clasen [Thu, 8 Oct 2020 18:13:19 +0000 (14:13 -0400)]
docs: Add more details to the migration guide
Add some details about GdkSurface and GtkWindow api changes.
Fixes: #3242
Emmanuele Bassi [Fri, 9 Oct 2020 09:14:41 +0000 (10:14 +0100)]
Tone down a user visible message
Self-deprecating humour badly translates to a demo message.
Timm Bäder [Thu, 8 Oct 2020 15:05:57 +0000 (15:05 +0000)]
Merge branch 'kjellahl/gdkseat' into 'master'
gdkseat: Make gdk_seat_get_tools() public
Closes #3241
See merge request GNOME/gtk!2677
Kjell Ahlstedt [Thu, 8 Oct 2020 14:22:05 +0000 (16:22 +0200)]
gdkseat: Make gdk_seat_get_tools() public
Fixes #3241
Timm Bäder [Thu, 8 Oct 2020 09:42:04 +0000 (09:42 +0000)]
Merge branch 'fix.builder.msvc' into 'master'
testsuite/gtk/builder.c: Fix running on Visual Studio
See merge request GNOME/gtk!2676
Chun-wei Fan [Thu, 8 Oct 2020 08:05:40 +0000 (16:05 +0800)]
testsuite/gtk/builder.c: Fix running on Visual Studio
Explicitly say in the code that we are exporting the symbols so that when the
test program runs, it can find the required builder symbols.
Matthias Clasen [Thu, 8 Oct 2020 02:19:42 +0000 (02:19 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2674
Matthias Clasen [Thu, 8 Oct 2020 01:18:25 +0000 (21:18 -0400)]
gdk: Drop gdk_surface_new_temp
It is not used anymore.
Matthias Clasen [Thu, 8 Oct 2020 01:07:40 +0000 (21:07 -0400)]
win32: Stop using gdk_surface_new_temp
No need to roundtrip through the frontend to create
one of our own surfaces.
Matthias Clasen [Thu, 8 Oct 2020 01:04:05 +0000 (21:04 -0400)]
broadway: Stop using gdk_surface_new_temp
No need to roundtrip through the frontend to create
one of our own surfaces.
Matthias Clasen [Thu, 8 Oct 2020 01:01:31 +0000 (21:01 -0400)]
x11: Stop using gdk_surface_new_temp
No need to roundtrip through the frontend to create
one of our own surfaces.
Matthias Clasen [Thu, 8 Oct 2020 00:12:35 +0000 (20:12 -0400)]
wayland: Stop using gdk_surface_new_temp
No need to roundtrip through the frontend to create
one of our own surfaces.
Matthias Clasen [Wed, 7 Oct 2020 23:36:07 +0000 (19:36 -0400)]
gdk: Drop some unused private api
No users of gdk_display_peek_event, gdk_display_has_pending
_gdk_display_event_data_copy or _gdk_display_event_data_free,
so drop all of these, and related vfuncs.
Matthias Clasen [Wed, 7 Oct 2020 20:51:40 +0000 (20:51 +0000)]
Merge branch 'master' into 'master'
Allow LPR backend to print PDF and PS file formats
See merge request GNOME/gtk!418
Benjamin Otte [Wed, 7 Oct 2020 20:33:25 +0000 (20:33 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
textbuffer: Don't serialize the \0 byte
See merge request GNOME/gtk!2672
Matthias Clasen [Wed, 7 Oct 2020 20:30:52 +0000 (20:30 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #3237
See merge request GNOME/gtk!2673
Benjamin Otte [Wed, 7 Oct 2020 20:14:18 +0000 (22:14 +0200)]
textbuffer: Don't serialize the \0 byte
... when converting to text/plain.
Matthias Clasen [Wed, 7 Oct 2020 19:56:11 +0000 (15:56 -0400)]
colorchooser: Bring color names back
These are useful for accessibility.
Fixes: #3237
Jan Alexander Steffens (heftig) [Wed, 7 Oct 2020 02:34:11 +0000 (22:34 -0400)]
gtkplacessidebar: Disconnect and unref cloud_manager in dispose
The manager's providers-changed signal can fire after the sidebar has
been freed. Make sure we disconnect the sidebar from the manager.
https://bugs.archlinux.org/task/57984
https://bugs.archlinux.org/task/68123
Matthias Clasen [Tue, 6 Oct 2020 22:09:52 +0000 (18:09 -0400)]
gtk-demo: Fix an off-by-one error
This was found by the asan build in our ci.
Timm Bäder [Wed, 7 Oct 2020 08:00:43 +0000 (08:00 +0000)]
Merge branch 'migration-guide-fix' into 'master'
migration guide: Remove stray html tags
See merge request GNOME/gtk!2670
Nicola Fontana [Wed, 7 Oct 2020 06:38:26 +0000 (08:38 +0200)]
migration guide: Remove stray html tags
Matthias Clasen [Tue, 6 Oct 2020 20:55:28 +0000 (20:55 +0000)]
Merge branch 'svg-demo' into 'master'
Svg demo
See merge request GNOME/gtk!2668
Matthias Clasen [Tue, 6 Oct 2020 19:12:09 +0000 (15:12 -0400)]
gtk-demo: Add an svg paintable demo
It is a little annoying that this demo will not show up
if we don't find librsvg, but I think showing how easy
this paintable is outweights the annoyance.
Matthias Clasen [Tue, 6 Oct 2020 19:11:08 +0000 (15:11 -0400)]
gtk-demo: Recognize .svg as images
We can't guarantee that we can load it, but worst
case you'll get a missing image.
Matthias Clasen [Tue, 6 Oct 2020 18:25:48 +0000 (18:25 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #3235
See merge request GNOME/gtk!2667
Matthias Clasen [Tue, 6 Oct 2020 18:25:27 +0000 (18:25 +0000)]
Merge branch 'aboutwindow' into 'master'
gtkaboutdialog: Directly specialize GtkWindow
See merge request GNOME/gtk!2666
Matthias Clasen [Tue, 6 Oct 2020 16:53:46 +0000 (12:53 -0400)]
aboutdialog: Fix updating license tab
We need to update the license button visibility
whenever the license type changes.
Adrien Plazas [Mon, 5 Oct 2020 15:20:27 +0000 (17:20 +0200)]
gtkaboutdialog: Directly specialize GtkWindow
As it doesn't act as a dialog, there is no point specializing GtkDialog,
so his makes it specialize GtkWindow directly.
Matthias Clasen [Tue, 6 Oct 2020 15:05:40 +0000 (11:05 -0400)]
window: Fix setting min size
We were inadvertedly setting the windows min size
to the default size, making it so that you can never
shrink a window below its default size.
Fixes: #3235
Matthias Clasen [Tue, 6 Oct 2020 13:25:47 +0000 (09:25 -0400)]
gdk: Tweak our GL debug message callback
Go back to installing our debug message callback
unconditionally if G_ENABLE_CONSISTENCY_CHECKS is
defined, and allow opting into it using GDK_DEBUG=gl-debug
otherwise.
Matthias Clasen [Tue, 6 Oct 2020 11:09:13 +0000 (07:09 -0400)]
gdk: Docs tweaks
We don't have library initialization api anymore,
update the section title to reflect that.
Matthias Clasen [Tue, 6 Oct 2020 01:27:23 +0000 (21:27 -0400)]
treelistrowsorter: Add a bandaid
The GtkTreeListRowSortKeys implementation doesn't
know how it wants to cache its keys, and just crashes.
Since that is not cool, add a bandaid fix that forces
it to recreate its keys instead. Extra work, but hey,
no crash.
Related: #3228
Emmanuele Bassi [Tue, 6 Oct 2020 10:30:07 +0000 (10:30 +0000)]
Merge branch 'FixWin32PopupFocus' into 'master'
Gtk4/Win32: Fix popup focus stealing when CSD is disabled
See merge request GNOME/gtk!2665
firox263 [Tue, 6 Oct 2020 09:37:35 +0000 (22:37 +1300)]
Fix Win32 popup focus when using SSD
Prevents GDK Popups from stealing focus from the parent window when
using Server Side Decorations on win32.
It uses `ShowWindow` and the `SW_SHOWNOACTIVATE` flag.
Matthias Clasen [Tue, 6 Oct 2020 02:14:54 +0000 (02:14 +0000)]
Merge branch 'wip/carlosg/for-master' into 'master'
gtkpopover: Revert focus to parent on hide()
Closes #3214
See merge request GNOME/gtk!2653
Matthias Clasen [Tue, 6 Oct 2020 01:53:05 +0000 (21:53 -0400)]
Cosmetic
Don't call gtk_root_get_focus when we already have
the GtkWindowPrivate struct at hand. And use
gtk_window_set_focus to update the focus, like the
old code did.
Carlos Garnacho [Thu, 1 Oct 2020 14:54:10 +0000 (16:54 +0200)]
gtkwindow: Ensure to revert focus to a parent on hide()
When a widget is hidden, check harder for the keyboard focus being
contained in that widget, in order to reset it. Portions of the
focus child hierarchy may be outdated at the time, so it is more
reliable to check GtkRoot::focus (i.e. the property we intend to
update here).
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3214
Matthias Clasen [Tue, 6 Oct 2020 01:25:25 +0000 (01:25 +0000)]
Merge branch 'simple-resizing-fixes' into 'master'
Simple resizing fixes
Closes #3076
See merge request GNOME/gtk!2661
Matthias Clasen [Tue, 6 Oct 2020 00:57:30 +0000 (00:57 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #3196
See merge request GNOME/gtk!2662
Timm Bäder [Sat, 26 Sep 2020 06:43:36 +0000 (08:43 +0200)]
gradient shaders: Reduce out values as well
We only do 6 color stops here now. Also works around a driver bug.
Fixes #3196
Matthias Clasen [Tue, 6 Oct 2020 00:22:02 +0000 (20:22 -0400)]
window: Fix window size snapping back
We were not updating the remembered size at all when
the window is interactively resized, causing it to
snap back to its default size the next time we call
gdk_toplevel_present().
This is a bandaid fix to prevent very broken resizing
behavior, until we have properly redone toplevel sizing.
Fixes: #3076
Matthias Clasen [Tue, 6 Oct 2020 00:17:50 +0000 (20:17 -0400)]
wayland: Don't forget to reapply margins
When using the saved size because the compositor
told us to, we were forgetting to readd the margins.
The visible symptom of this was the window getting
smaller every time we went to tiled state and back.
Matthias Clasen [Tue, 6 Oct 2020 00:15:33 +0000 (20:15 -0400)]
wayland: Don't save size when tiled
Don't remember the surface size when we are in tiled
state either. This matches the 'fixed_size' condition
in gdk_wayland_surface_configure_toplevel.
This change fixes an issue where moving a window first
to tiled, then to maximized state and back would lead
to the unmaximized window having the tiled dimensions.
Matthias Clasen [Fri, 7 Aug 2020 20:54:09 +0000 (16:54 -0400)]
wayland: Don't emit premature configure events
We should not emit configure events before we are realized - size
changes at this point are not relevant.
This gets rid of a mysterious emission of GdkSurface::size-changed
with a size of 52x52, that is happening when GtkWindow sets the
shadow_width before the window is mapped.
Matthias Clasen [Mon, 5 Oct 2020 18:43:38 +0000 (14:43 -0400)]
gtk-demo: Mention dataset size for Characters
Matthias Clasen [Mon, 5 Oct 2020 18:08:55 +0000 (14:08 -0400)]
gl: Install the debug message callback for gl-debug
Always install the debug message callback when we can
and GDK_DEBUG=gl-debug is specified. Previously, we
were only installing the callback when the build was
a non-optimized debug build.
Matthias Clasen [Mon, 5 Oct 2020 14:58:20 +0000 (14:58 +0000)]
Merge branch 'fix-texture-cache' into 'master'
gl renderer: Fix up texture cache key
See merge request GNOME/gtk!2659
Matthias Clasen [Mon, 5 Oct 2020 14:23:08 +0000 (14:23 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2660
Matthias Clasen [Mon, 5 Oct 2020 13:56:04 +0000 (09:56 -0400)]
gtk-demo: Fix up the Characters demo
Move the Unicode names to a separate source file,
and only build the demo if we have harfbuzz (since
we use script names, and those are only available
with harfbuzz).
Also, fix a forgotten type name.
Alexander Larsson [Mon, 5 Oct 2020 13:19:27 +0000 (15:19 +0200)]
gl renderer: Fix up texture cache key
The commit
e14d2be1 forgot to actually set the parent_rect in the texture
key in the case it is necessary.
Matthias Clasen [Mon, 5 Oct 2020 12:08:43 +0000 (08:08 -0400)]
NEWS: Updates
Trying a new scheme - when updating NEWS outside of doing
a release, keep the version out, to make the it clear that
this is just about the tip of the branch, not a complete
release.
Matthias Clasen [Mon, 5 Oct 2020 11:29:10 +0000 (11:29 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2658
Matthias Clasen [Mon, 5 Oct 2020 01:21:44 +0000 (21:21 -0400)]
gtk-demo: Add a column view demo
Make a column view that is showing some Unicode data.
Matthias Clasen [Mon, 5 Oct 2020 01:20:48 +0000 (21:20 -0400)]
Prevent a crash with script names
We can't pass NULL to gettext().
Matthias Clasen [Sun, 4 Oct 2020 23:48:46 +0000 (19:48 -0400)]
Update the copy in gtk-demo too
Matthias Clasen [Sun, 4 Oct 2020 20:15:09 +0000 (16:15 -0400)]
Update script names to Unicode 13
It would be better if this was provided elsewhere...
Matthias Clasen [Sun, 4 Oct 2020 13:56:40 +0000 (13:56 +0000)]
Merge branch 'emoji-data-cldr' into 'master'
Update Emoji data
Closes #1511 and #950
See merge request GNOME/gtk!2656
Matthias Clasen [Sun, 4 Oct 2020 13:56:30 +0000 (13:56 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2657
Matthias Clasen [Sun, 4 Oct 2020 00:08:29 +0000 (20:08 -0400)]
scale: Make draw-value default to FALSE
This is rarely what you want, so lets turn it off
by default.
Update the one place in our demos where we want to
draw a value, add support for this to gtk-builder-tool,
add a test and mention this change in the migration
guide.
Matthias Clasen [Sun, 4 Oct 2020 02:26:56 +0000 (22:26 -0400)]
Redo the handling of Emoji data
Use the data files from https://github.com/milesj/emojibase.git
as source for our Emoji data. Slightly change our data format by
adding a group to each item, in both the Emoji data and in the
setting for recent-emoji.
Install translated versions of the data as separate resource
bundles in $prefix/gtk-4.0/emoji, and load them when appropriate.
Currently, we have data for de, en, es, fr, zh, with data taken
from Unicode 13 and CLDR 13.
Fixes: #950 #1511
Matthias Clasen [Wed, 15 Apr 2020 05:19:09 +0000 (01:19 -0400)]
Emoji: Drop the shortname field from emoji.data
Match the name for Emoji completion, and display
it too. 'man worker' looks a lot more natural in
the UI than ':man_worker:'.
Matthias Clasen [Wed, 15 Apr 2020 04:28:53 +0000 (00:28 -0400)]
Do case-folding and tokenization when creating emoji.data
We can avoid doing the extra work of case-folding and
tokenization whenever we filter in the Emoji chooser.
Matthias Clasen [Wed, 15 Apr 2020 02:29:25 +0000 (22:29 -0400)]
emoji: Add keywords to the data
And use them for matching in the Emoji chooser.
Matthias Clasen [Tue, 14 Apr 2020 23:13:17 +0000 (19:13 -0400)]
emoji: Some work on the conversion tool
Document the variant format, and write out json
format if asked to.
Matthias Clasen [Sat, 3 Oct 2020 23:42:19 +0000 (19:42 -0400)]
Fix Emoji completion
This is some late fallout from the container removal.
Matthias Clasen [Sat, 3 Oct 2020 23:41:26 +0000 (19:41 -0400)]
widget-factory: Enable emoji completion somewhere
Without a quick way to test this, it is bound to
fall apart. As it has.